// Win32DLLDemoUseDLL4.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include "windows.h"
#include "tchar.h"

typedef int(*FUNC)(TCHAR*, int); // 定义函数指针类型

int main()
{
    std::cout << "Hello World!\n";

    HINSTANCE hDLL = NULL; // 定义DLL的句柄
    FUNC myf; // 定义函数
    int res;

    hDLL = LoadLibrary(_T("Win32DLLDemo.dll")); // 加载dll
    if (!hDLL)
    {
        puts("Win32DLLDemo.dll加载失败");
        goto end;
    }
    myf = (FUNC)GetProcAddress(hDLL, "f1");
    res = myf((TCHAR*)_T("你好"), 10);
    printf("返回值是：%d\n", res);

    FreeLibrary(hDLL); // 释放dll

end:
    return 0;
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
